﻿using Microsoft.EntityFrameworkCore;
using SJ.Platform.EFCore.Model.ApproveManager;
using SJ.Platform.EFCore.Model.AuthorityManager;
using SJ.Platform.EFCore.Model.FlowManager;
using SJ.Platform.EFCore.Model.LogManager;
using SJ.Platform.EFCore.Model.MenuManager;
using SJ.Platform.EFCore.Model.OrgManager;
using SJ.Platform.EFCore.Model.ProjectManager;
using SJ.Platform.EFCore.Model.RoleManager;
using SJ.Platform.EFCore.Model.UserManager;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SJ.Platform.EFCore.Model
{
    public partial class SJDBContext : DbContext
    {
        public SJDBContext()
        {
        }

        public SJDBContext(DbContextOptions<SJDBContext> options) : base(options)
        {

        }

        public virtual DbSet<SysAuthority> SysAuthorities { get; set; }

        public virtual DbSet<SysLog> SysLogs { get; set; }

        public virtual DbSet<SysLogin> SysLogins { get; set; }

        public virtual DbSet<SysMenu> SysMenus { get; set; }

        public virtual DbSet<SysOrg> SysOrgs { get; set; }

        public virtual DbSet<SysRAuthoritytorole> SysRAuthoritytoroles { get; set; }

        public virtual DbSet<SysRForeigntorole> SysRForeigntoroles { get; set; }

        public virtual DbSet<SysRUserandorg> SysRUserandorgs { get; set; }

        public virtual DbSet<SysRole> SysRoles { get; set; }

        public virtual DbSet<SysUser> SysUsers { get; set; }

        public virtual DbSet<ProjectMain> ProjectMains { get; set; }

        public virtual DbSet<ProjectStakeholder> ProjectStakeholders { get; set; }

        public virtual DbSet<ProjectDocument> ProjectDocuments { get; set; }

        public virtual DbSet<ProjectSetting> ProjectSettings { get; set; }

        public virtual DbSet<ProjectRequirementFeature> ProjectRequirementFeatures { get; set; }

        public virtual DbSet<ProjectRequirementFeatureChange> ProjectRequirementFeatureChanges { get; set; }

        public virtual DbSet<ProjectRequirementInfo> ProjectRequirementInfos { get; set; }

        public virtual DbSet<ProjectRequirementInfoChange> ProjectRequirementInfoChanges { get; set; }

        public virtual DbSet<ProjectRequirementMain> ProjectRequirementMains { get; set; }

        public virtual DbSet<ProjectScheduleMain> ProjectScheduleMains { get; set; }

        public virtual DbSet<ProjectSchedulePerson> ProjectSchedulePersons { get; set; }

        public virtual DbSet<ProjectScheduleTask> ProjectScheduleTasks { get; set; }

        public virtual DbSet<ProjectScheduleTaskChange> ProjectScheduleTaskChanges { get; set; }

        public virtual DbSet<ProjectScheduleTaskDo> ProjectScheduleTaskDos { get; set; }

        public virtual DbSet<ProjectTeamMember> ProjectTeamMembers { get; set; }

        public virtual DbSet<ProjectTeamMemberChange> ProjectTeamMemberChanges { get; set; }

        public virtual DbSet<ProjectTeamMain> ProjectTeamMains { get; set; }

        public virtual DbSet<ProjectChangeInfo> ProjectChangeInfos { get; set; }

        public virtual DbSet<ProjectChangeMain> ProjectChangeMains { get; set; }

        public virtual DbSet<FlowMain> FlowMains { get; set; }

        public virtual DbSet<FlowNode> FlowNodes { get; set; }

        public virtual DbSet<FlowNodeApproveUser> FlowNodeApproveUsers { get; set; }

        public virtual DbSet<FlowType> FlowTypes { get; set; }

        public virtual DbSet<ApproveMain> ApproveMains { get; set; }

        public virtual DbSet<ApproveRecord> ApproveRecords { get; set; }

        // 重写OnModelCreating以添加自定义映射
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            // 自定义映射
        }
    }
}
